package com.threeox.commonlibrary.ui.view.inter.engine.tablemodel;

import android.content.Context;

import com.threeox.commonlibrary.entity.engine.model.table.TableResultMessage;
import com.threeox.commonlibrary.ui.view.engineview.tablemodel.TableModelView;
import com.threeox.commonlibrary.ui.view.inter.engine.base.IBaseExtend;

/**
 * 
 * @ClassName: ITableModelExtend
 * 
 * @Description: TODO()
 * 
 * @author 赵屈犇
 * 
 * @date 创建时间: 2017/8/17 13:44
 * 
 * @version 1.0
 * 
 */
public interface ITableModelExtend<T> extends IBaseExtend {

    /**
     * 模型View中的初始化
     *
     * @param context
     * @param tableModelView
     */
    void init(Context context, TableModelView tableModelView);

    /**
     * 表格View的点击事件
     *
     * @param position
     * @param data
     */
    void OnTableRowClick(int position, T data);

    /**
     * 表格一行数据的长按事件
     *
     * @param position
     * @param data
     */
    Boolean OnTableRowLongClick(int position, T data);


    /**
     * 当返回的数据不为TableResultMessage时解析
     *
     * @param datas
     */
    TableResultMessage onParseData(T datas);


    /**
     * 解析数据之前调用的接口
     *
     * @return false:拦截 true:不拦截
     */
    boolean onBeforeParseData(TableResultMessage message);

    /**
     * 解析数据之后调用的接口
     *
     * @param datas
     */
    void onAfterParseData(TableResultMessage datas);

}
